////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2016-2017 Qualcomm Technologies, Inc.
// All Rights Reserved.
// Confidential and Proprietary - Qualcomm Technologies, Inc.
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// @file  camxhwfactory.cpp
/// @brief HwFactory class implementation
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

#include "camxhwfactory.h"
#include "camxincs.h"
#include "camxmem.h"

CAMX_NAMESPACE_BEGIN

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// HwFactory::Destroy
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
VOID HwFactory::Destroy()
{
    CAMX_DELETE this;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// HwFactory::HwFactory
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
HwFactory::HwFactory()
{
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// HwFactory::~HwFactory
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
HwFactory::~HwFactory()
{
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// HwFactory::CreateNode
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Node* HwFactory::CreateNode(
    const NodeCreateInputData* pCreateInputData,
    NodeCreateOutputData*      pCreateOutputData
    ) const
{
    // Virtual call to derived HWL node creation function
    return HwCreateNode(pCreateInputData, pCreateOutputData);
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// HwFactory::CreateSettingsManager
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
SettingsManager* HwFactory::CreateSettingsManager() const
{
    // Virtual call to derived HWL settings manager creation function
    return HwCreateSettingsManager();
}

CAMX_NAMESPACE_END